home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / BUS / エクスプレス住所録2.5 folde.sit / エクスプレス住所録2.5 folder / エクスプレス住所録2.5-1 / スタック管理 / stack.txt < prev   
Text File  |  1995-09-02  |  16KB  |  411 lines

  1. -- stack: in
  2. -- format: 10 (HyperCard 2)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=64, y1=75, x2=576, y2=417)
  7. -- screen: Rect(x1=0, y1=0, x2=640, y2=480)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2377
  12. -- card count: 1
  13. -- first card id: 2718
  14. -- list block id: 2088
  15. -- print block id: 3045
  16. -- font table block id: 6158
  17. -- style table block id: 4802
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 18656 bytes
  21. -- stack block size: 13312 bytes
  22. -- created by hypercard version: 0x01222013
  23. -- compacted by hypercard version: 0x02218000
  24. -- modified by hypercard version: 0x02218000
  25. -- opened by hypercard version: 0x02218000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1002400801200480
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0xFF3E1C000000C1E3
  49. -- patterns[23]: 0xEFDF00000000F3E7
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x82050A142850A041
  53. -- patterns[27]: 0xBE80A858AB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0x00FF00FF00FF00FF
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0x8822880000000000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFFFF4040FFFF0808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x635D122B
  67. ----- HyperTalk script -----
  68. -------------------------------------------------------------------
  69. HyperCard Home Stack
  70. Version J1-2.2
  71.  
  72. Copyright 1987-1991,1993-1994 by Apple Computer, Inc.
  73. All Rights Reserved.
  74.  
  75. THE MESSAGE HANDLERS USED IN THIS SCRIPT:
  76. startUp,getHomeInfo,resume,help,hyperTalk
  77. nav,c,b,s,mw,vw,se,ss,xy,disallowInterruption,allowInterruption
  78. setUserLevelFive,restoreUserLevel,searchScript,
  79. checkForMissingFonts,getStackVersion,getStackName
  80.  
  81. THE FUNCTION HANDLERS USED IN THIS SCRIPT:
  82. lastHCItem,checkHCFont
  83.  
  84. XCMD'S USED BY THIS SCRIPT:
  85. FontExists XFCN
  86. Form: FontExists(<font name>,<point size>)
  87. It returns TRUE if the font/point size is installed or FALSE if not.
  88. -------------------------------------------------------------------
  89.  
  90. -----  Startup/Resume Scripts:  ---------------------------------------------
  91.  
  92. on startUp
  93.   -- Requires handler: getHomeInfo,checkForMissingFonts
  94.   -- gets and sets the user's preferences
  95.   checkForMissingFonts
  96.   getHomeInfo
  97.   -- audio Palette startup
  98.   if there is a stack "Audio Help" then -- 竏†
  99.     start using stack "Audio Help" -- 竏†
  100.     send "startSound" to stack "Audio Help" -- 竏†
  101.   end if
  102.   pass startUp -- so others can use it
  103. end startUp
  104.  
  105. on getHomeInfo
  106.   -- Needs: User preferences card of the home stack
  107.   -- configures HyperCard to the user specified preferences
  108.   global Stacks,Applications,Documents,UserName
  109.   if short name of this stack is not "Home" then -- 竏†
  110.     lock screen
  111.     set lockRecent to TRUE
  112.     set lockMessages to TRUE
  113.     push this card -- remember where we are
  114.     go home -- will take us to the home stack in case we're not there
  115.     put FALSE into stackIsHome
  116.   else put TRUE into stackIsHome
  117.   put (cd fld "User Name" of cd "User Preferences") into UserName
  118.   set the userLevel to cd fld "User Level" of cd "User Preferences" -- hidden field
  119.   set the powerKeys to hilite of cd btn id 3 of cd "User Preferences" -- Power Keys
  120.   set the textArrows to hilite of cd btn id 2 of cd "User Preferences" -- Arrow keys in text
  121.   set the blindTyping to hilite of cd btn id 1 of cd "User Preferences" -- Blind Typing
  122.   -- load the search path globals
  123.   put bg fld "Paths" of cd "Stacks" of bg "Paths" into Stacks
  124.   put bg fld "Paths" of cd "Applications" of bg "Paths" into Applications
  125.   put bg fld "Paths" of cd "Documents" of bg "Paths" into Documents
  126.   if not stackIsHome then
  127.     pop card -- return to where we were
  128.     set lockRecent to FALSE -- clean up for exit
  129.     set lockMessages to FALSE
  130.     unlock screen
  131.   end if
  132. end getHomeInfo
  133.  
  134. on resume
  135.   -- Requires handler: getHomeInfo
  136.   -- gets and sets user preferences upon returning
  137.   getHomeInfo
  138.   pass resume -- so others can use it
  139. end resume
  140.  
  141. -----  Help Scripts:  --------------------------------------------
  142.  
  143. on help theTopic
  144.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "help <topic>" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  145.   -- テ駅テ嘉」テ益テ厩テ運テ叡テ丑 (HyperCard Help) テ‡テƒ <topic> テ‡テε雨テ…[テ栄テ‡窶ヲテ 竅„テャテ†テ‡竏妥‡テ暗③
  146.   put "HyperCard Help" into theStack -- 竏†
  147.   if ":" & theStack & RETURN is in the stacks then
  148.     if the longWindowTitles
  149.     then show window line (the number of lines of char 1 to offset(":" & theStack & RETURN, the stacks) of the stacks) of the stacks
  150.   else show window theStack
  151. else
  152.   go to stack theStack in a new window -- try in a new window
  153.   if the result = "Cancel" then exit to hyperCard
  154.   else if the result is not empty then go to stack theStack
  155. end if
  156. if the result is empty then findInTitle theTopic -- in the help stack
  157. end help
  158.  
  159. on hyperTalk theTopic
  160.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "hyperTalk <topic>" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  161.   -- HyperTalk テ嘉、テ液テ院テ嘉・テ嘉ャテ厩テ厩テ運テ叡テ丑テ‡テƒ <topic> テ‡テε雨テ…[テ栄テ‡窶ヲテ 竅„テャテ†テ‡竏妥‡テ暗③
  162.   put "HyperTalk Reference" into theStack
  163.   if ":" & theStack & RETURN is in the stacks then
  164.     if the longWindowTitles
  165.     then show window line (the number of lines of char 1 to offset(":" & theStack & RETURN, the stacks) of the stacks) of the stacks
  166.   else show window theStack
  167. else
  168.   go to stack theStack in a new window -- try in a new window
  169.   if the result = "Cancel" then exit to hyperCard
  170.   else if the result is not empty then go to stack theStack
  171. end if
  172. if the result is empty then findInTitle theTopic -- in the help stack
  173. end hyperTalk
  174.  
  175. -----  Utility Scripts:  --------------------------------------------
  176.  
  177. on nav
  178.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "nav" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  179.   -- テ永テ詠テ渦テ…[テ運テ英テ嘉・テ叡テ曳テ‡邃「テゥgテ‡ツカテ‡テ暗③
  180.   -- Requires XCMD: palette "Navigator"
  181.   palette "Navigator"
  182. end nav
  183.  
  184. on c
  185.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "c" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  186.   -- テ雨テ…[テ栄ティテ禿ッテ津雲テ韻テ陰テ嘉ァテ碓テ‡邃「テ、Jテ‡竕 テ③
  187.   -- Requires handlers: setUserLevelFive,restoreUserLevel
  188.   put the tool into saveTool
  189.   choose browse tool
  190.   setUserLevelFive -- so the menu item will be there
  191.   doMenu "Card Info..."
  192.   restoreUserLevel
  193.   choose saveTool
  194. end c
  195.  
  196. on b
  197.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "b" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  198.   -- テ頴テ叡テ丑テ碓テ嘉「テ右テ嘉ャテ栄ティテ禿ッテ津雲テ韻テ陰テ嘉ァテ碓テ‡邃「テ、Jテ‡竕 テ③
  199.   -- Requires handlers: setUserLevelFive,restoreUserLevel
  200.   put the tool into saveTool
  201.   choose browse tool
  202.   setUserLevelFive -- so the menu item will be there
  203.   doMenu "Bkgnd Info..."
  204.   restoreUserLevel
  205.   choose saveTool
  206. end b
  207.  
  208. on s
  209.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "s" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  210.   -- テ厩テ運テ叡テ丑ティテ禿ッテ津雲テ韻テ陰テ嘉ァテ碓テ‡邃「テ、Jテ‡竕 テ③
  211.   -- Requires handlers: setUserLevelFive,restoreUserLevel
  212.   put the tool into saveTool
  213.   choose browse tool
  214.   setUserLevelFive -- so the menu item will be there
  215.   doMenu "Stack Info..."
  216.   restoreUserLevel
  217.   choose saveTool
  218. end s
  219.  
  220. on mw
  221.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "mw" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  222.   -- テ嘉…テ叡テ瓜テ…[テ姥テッ¥テゥツカテ‡邃「テ、Jテ‡竕 テ③
  223.   -- Requires XWindow: Message Watcher
  224.   show window "Message Watcher"
  225. end mw
  226.  
  227. on vw
  228.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "vw" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  229.   -- テッナ禿ェテョテッ¥テゥツカテ‡邃「テ、Jテ‡竕 テ③
  230.   -- Requires XWindow: Variable Watcher
  231.   show window "Variable Watcher"
  232. end vw
  233.  
  234. on se
  235.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "se" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  236.   -- テ厩テ丑テ嘉、テ益テ曳テッ窶愿ィWテ‡テε液テ羽テ嘉ャテ曳テ‡邃「テェ窶コテュテ凝‡竕暗‡ツエテ‡テ暗③
  237.   -- Requires XWindow: Script Editor
  238.   ask "テ厩テ丑テ嘉、テ益テ曳テッ窶愿ィWテ‡テε液テ羽テ嘉ャテ曳" with "Osaka" -- 竏† default value
  239.   if the result is "Cancel" or it is empty then exit se
  240.   set scriptTextFont to it
  241.   ask "テ厩テ丑テ嘉、テ益テ曳テッ窶愿ィWテ‡テεッ竏づゥテカテ欝テ韻テ浦" with "12" -- 竏† default value
  242.   if the result is "Cancel" or it is empty then exit se
  243.   set scriptTextSize to it
  244. end se
  245.  
  246. on ss pattern,stackName
  247.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "ss" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  248.   -- テォSテ厩テ丑テ嘉、テ益テ曳テュテ愿‡テεッ竏づゥテカテウテ津‡ï」ソテ・テシテァトアテ‡竕暗‡ツエテ‡テ暗③
  249.   -- テ厩テ丑テ嘉、テ益テ曳テッ窶愿ィWテ‡邃「テ、Jテ‡竕 テ‡テε‡竕暗②テ厩テ丑テ嘉、テ益テ曳テ嘉…テ泳テ嘉姪…[テ‡テƒ
  250.   -- テ・テシテァトアテ嘘テ厭テ嘉ャテ栄テ‡竕暗・テシテァトアテ‡竏妥‡テ暗③
  251.   -- テョツコテ、pテ‡テε雨テ運テ雨テ永テ‡ï」ソテ・テシテァトアテ‡竏妥‡テ暗‡竏†テ②テォ竏づァ窶コテ‡ツオテ‡ニ津‡ツ「テ‡ツサテ‡ツ「テ厩テ丑テ嘉、テ益テ曳テ‡邃「
  252.   -- テ、Jテ‡ツゥテ‡テ催‡テ暗‡ツアテ‡竏†テ‡邃「テ‡窶 テ‡テ暗‡テε‡竕暗ュテァテ 窶敕‡竏妥‡テ暗③
  253.   -- テ・テシテァトアテ嘘テ厭テ嘉ャテ栄テ‡ï」ソテゥgテ‡ツァテゥテサテ②テォOテ・窶榲‡邃「 SPACE テ‡窶š RETURN テ‡窶ヲテ‡テ甘‡ツ。テ‡ニ’
  254.   -- テ」テ甘ェテソテ‡テテ‡テ催‡ホゥテッ竏づゥテカテウテ津‡ï」ソテュTテ‡竏妥‡ツサテ‡テテ…sテッ竏づゥテカテウテ津ォSテォテε…tテ‡ï」ソテゥwテュテ凝‡ツオテ‡ニ津‡ツョテ‡竕 テ③
  255.   -- テャヒ凖ア{テ・テ催‡テεッ竏づィテ陛‡テεウlテ‡窶ヲ SPACE テ‡窶ヲテ‡テ甘‡ツ。テ‡ニ津」テ甘ェテソテ‡テテ‡テ催‡ニ津‡ツ「テ‡ツサテ‡ツ「
  256.   -- テッ竏づゥテカテウテ津‡ï」ソテュTテ‡竏妥‡ツサテ‡テテ…sテッ竏づゥテカテウテ津‡テε テ催ッテョテ…tテ‡ï」ソテゥwテュテ凝‡ツオテ‡ニ津‡ツョテ‡竕 テ③
  257.   -- Requires handler: searchScript
  258.   searchScript pattern,stackName -- 竏† type "ss" into message box
  259. end ss
  260.  
  261. on xy
  262.   -- 竏† テゥgテ‡ツ「テッヒ堙⑹テ嘉…テ叡テ瓜テ…[テ姥テ閲テ叡テ丑テ厩テ‡竕ˆ "xy" テ‡竏†テ運テ韻テ益テ‡竏妥‡テ暗‡竏†テ②
  263.   -- テ厭テ右テ厩テ‡テε ツ テュuテ‡ï」ソテゥツカテ‡竏妥③
  264.   -- テュテ愿ゥ~テ‡竏妥‡テ暗‡窶ヲテ‡テ陛②テ厭テ右テ厩テ‡ï」ソテ丑テ嘉、テ叡テ丑テ‡竏妥‡テ暗③
  265.   set cursor to cross
  266.   repeat until the mouseClick
  267.     put the mouseLoc && "  horz:" & the mouseH && "  vert:" & the mouseV -- 竏†
  268.   end repeat
  269. end xy
  270.  
  271. on disallowInterruption
  272.   -- テ厩テ丑テ嘉、テ益テ曳テ‡テεゥツソテァsテ‡ï」ソテュテ愿ュfテ‡竕暗‡ツエテ‡ツサテ‡ツ「テ‡テ甘‡ツァテ‡窶ヲテ‡竏妥‡テ暗③
  273.   set cantAbort of this stack to TRUE
  274. end disallowInterruption
  275.  
  276. on allowInterruption
  277.   -- テ厩テ丑テ嘉、テ益テ曳テ‡テεゥツソテァsテ‡ï」ソテュテ愿ュfテ‡竕暗‡ツエテ‡テ暗‡テ甘‡ツァテ‡窶ヲテ‡竏妥‡テ暗③
  278.   set cantAbort of this stack to FALSE
  279. end allowInterruption
  280.  
  281. on setUserLevelFive -- 竏† テ嘉愿…[テ蔚テ嘉・テ悦テ嘉」テ‡ï」ソテ㈵テ‡窶ヲテェ窶コテュテ凝‡竏妥‡テ暗③
  282.   global SvLvl
  283.   put the userLevel into SvLvl
  284.   set the userLevel to 5
  285. end setUserLevelFive
  286.  
  287. on restoreUserLevel
  288.   -- 竏† setUserLevelFive テ‡テεゥgテウpテ・窶榲‡窶ヲテ嘉愿…[テ蔚テ嘉・テ悦テ嘉」テ‡ï」ソテ・竕・テ‡窶ヲテアïャづ‡竏妥③
  289.   global SvLvl
  290.   if SvLvl is a number then set the userLevel to SvLvl
  291. end restoreUserLevel
  292.  
  293. on searchScript pattern,stackName
  294.   -- 竏† テ厩テ運テ叡テ丑テュテ愿‡テε‡竏妥‡笳甘‡ニ津‡テε厩テ丑テ嘉、テ益テ曳テ‡ï」ソテ・テシテァトアテ‡竏妥‡テ暗③
  295.   -- Requires handlers: setUserLevelFive,restoreUserLevel
  296.   global ScriptFindString -- HyperTalk global variable
  297.   set lockRecent to TRUE
  298.   setUserLevelFive -- saves current level and sets level 5
  299.   push card -- remember where we are
  300.   if pattern is empty then
  301.     ask "テ・テシテァトアテッ竏づゥテカテウテ’" with ScriptFindString -- 竏†
  302.     if (it is empty) or (the result is "Cancel") then exit searchScript
  303.     put it into pattern -- otherwise use it as the search pattern
  304.   end if
  305.   -- put in HyperTalk global so just CMD-F in editor for easy find
  306.   put pattern into ScriptFindString
  307.   set lockMessages to TRUE -- avoid open messages
  308.   if stackName is not empty then go to stack stackName
  309.   -- Note: if stackName is empty then we search the current stack
  310.   set cursor to busy
  311.   -- search the stack script of the stack
  312.   if the script of this stack contains pattern
  313.   then edit script of this stack
  314.   -- search the background scripts and objects of the stack
  315.   repeat with curBkgnd = 1 to the number of bkgnds
  316.     set cursor to busy
  317.     go to card 1 of bkgnd curBkgnd
  318.     if the script of this bkgnd contains pattern
  319.     then edit script of bkgnd curBkgnd
  320.     repeat with curBgBtn = 1 to the number of bkgnd buttons
  321.       set cursor to busy
  322.       if the script of bkgnd button curBgBtn contains pattern
  323.       then edit script of bkgnd button curBgBtn
  324.     end repeat
  325.     repeat with curBgField = 1 to the number of bkgnd fields
  326.       set cursor to busy
  327.       if the script of bkgnd field curBgField contains pattern
  328.       then edit script of bkgnd field curBgField
  329.     end repeat
  330.   end repeat
  331.   -- search the card scripts and objects of the stack
  332.   repeat with curCard = 1 to the number of cards
  333.     set cursor to busy
  334.     go card curCard
  335.     if the script of this card contains pattern
  336.     then edit script of this card
  337.     repeat with curCdBtn = 1 to the number of card buttons
  338.       set cursor to busy
  339.       if the script of card button curCdBtn contains pattern
  340.       then edit script of card button curCdBtn
  341.     end repeat
  342.     repeat with curCdFld = 1 to the number of card fields
  343.       set cursor to busy
  344.       if the script of card field curCdFld contains pattern
  345.       then edit script of card field curCdFld
  346.     end repeat
  347.   end repeat
  348.   set lockMessages to FALSE
  349.   set lockRecent to FALSE
  350.   pop card -- return to where we were
  351.   restoreUserLevel -- set userLevel back to whatever it was
  352.   answer "テ‡竏妥‡笳甘‡ニ津‡テε厩テ丑テ嘉、テ益テ曳テ‡ï」ソテ・テシテァトアテ‡ツオテ‡窶ケテ‡ツオテ‡ホゥテ③" -- 竏†
  353. end searchScript
  354.  
  355. function lastHCItem delim,theText
  356. -- テッ竏づゥテカテウテ’ theText テ‡ï」ソテ」テ甘ェテソテ‡テ凝ッ竏づゥテカ delim テ‡竕暗」テ甘ェテソテ‡ツ。テ‡ホゥティテ催ァテ。テ②
  357. -- テァ竕暗・窶榲‡テεァテ„テア竅„テ‡窶ヲテォテ、テャテアテ‡竏妥‡テ暗ッテョテッ邃「テ‡ï」ソテッ窶佚‡竏妥③
  358. -- テ雲テ疫テ嘉」テ頴テ韻テ曳テッ竏づゥテカテ‡ï」ソテ、窶ケテ‡ïャテッ竏づゥテカテウテ津‡窶ヲテ‡ツャテ‡ツ「テ‡ニ津‡テ陛②
  359. -- テ‡ツァテ‡窶ケテ‡竕 テャテ†テァテ湘‡ツオテ‡ツサテ‡ツ「テ‡ツアテ‡竏†テ‡邃「テ‡窶 テ‡テ暗③
  360. if delim is in theText then
  361.   put lastHCItem(delim,char offset(delim,theText) + 1 to (the number of chars in theText) of theText) into theText
  362. end if
  363. return theText
  364. end lastHCItem
  365.  
  366. -----  Font Adjustment Scripts:  ----------------------------------
  367.  
  368. function checkHCFont theFont,pointSizes
  369. -- テゥwテュテ凝‡竕・テ‡テ催‡ホゥテ欝テ韻テ浦テ‡テε液テ羽テ嘉ャテ曳テ‡邃「 System テ‡窶ヲテ韻テ嘉ャテ厩テ曳テ…[テ嘉」テ‡竕・テ‡テ催‡ニ’
  370. -- テ‡ツ「テ‡テ暗‡ツゥテュ竕、テ‡笳甘②テア竕・テ‡ツ「ティテ催ァテ。テ‡テ陛液テ羽テ嘉ャテ曳テ‡テε嘉、テ厩テ曳テ‡ï」ソテッ窶佚‡竏妥③
  371. -- Requires XFCN: FontExists
  372. put empty into missing
  373. -- steps through each point size passed in
  374. repeat with count = 1 to the number of items in pointSizes
  375.   put item count of pointSizes into theCurrentPtSize
  376.   if not FontExists(theFont,theCurrentPtSize) -- if can't find it
  377.   then put theCurrentPtSize & "," after missing
  378. end repeat
  379. if missing is not empty then
  380.   put theFont & SPACE before missing
  381.   delete last char of missing
  382.   put RETURN after missing
  383. end if
  384. return missing
  385. end checkHCFont
  386.  
  387. script of stack: checkForMissingFonts (modify)
  388. on checkForMissingFonts
  389.   -- System テ‡窶ヲテ韻テ嘉ャテ厩テ曳テ…[テ嘉」テ‡竕・テ‡テ催‡ホゥテ液テ羽テ嘉ャテ曳テ‡ï」ソテュ竕、テ‡笳甘②
  390.   -- HyperCard テ‡窶ヲテッKテウvテ‡ツサテ液テ羽テ嘉ャテ曳テ‡邃「テォツオテ‡ツ。テ‡ニ津‡ツ「テ‡ツサテ‡テ佚‡テ催‡ナ津・xテァテェテ‡竏妥‡テ暗③
  391.   -- Requires handler: checkHCFont
  392.   get checkHCFont("Courier","9,12") & checkHCFont("Geneva","10,14") & checkHCFont("Palatino","10,12,14,18,24") & checkHCFont("Helvetica","18,24") & checkHCFont("Osaka","12") & checkHCFont("テァ笳甘アテヲテュツゥテォテƒ","9,10,12,14,18,24") & checkHCFont("テュテ愿唄テ鰻テ叡テ丑テォテƒ","9,10,12,14,18,24") -- these are fonts needed by this stack
  393.   if it is empty then exit checkForMissingFonts
  394.   else put it into missingFonts
  395.   beep
  396.   -- this dialog informs the user which fonts are missing
  397.   answer "テ ツサテ「竏ォテ‡テε液テ羽テ嘉ャテ曳テ‡邃「テッKテウvテ‡竕暗‡竏妥③テ韻テ嘉ャテ厩テ曳テ…[テ嘉」テ‡ツオテ‡ニ津‡竕 テ‡テヲテ‡竕・テ‡ツ「テ③" & RETURN & RETURN & missingFonts
  398. end checkForMissingFonts
  399.  
  400. -----  Data Scripts:  ----------------------------------------------
  401.  
  402. on getStackVersion
  403.   -- add in Japan
  404.   return "J1-2.2"
  405. end getStackVersion
  406.  
  407. on getStackName
  408.   -- add in Japan
  409.   return "Lite Home"
  410. end getStackName
  411.